Static Verification of Message Passing Programs
نویسندگان
چکیده
Many industrial applications, including safety-critical ones, consist of several disjoint components that use message passing to communicate according to some protocol. These components are typically highly concurrent, since message exchanges may occur in any order. Developing correct message passing programs is therefore very challenging, which makes proving their correctness crucial [4]. A popular API for implementing message passing programs is the Message Passing Interface (MPI) library. We focus on the modular verification of MPI programs. Related work mainly focuses on communication and considers abstract models rather than concrete implementations [10,5]. We consider concrete Java code and combine static verification with well-known techniques for reasoning about concurrent and distributed programs, based on process algebras [7].
منابع مشابه
Future-based Static Analysis of Message Passing Programs
Message passing is widely used in industry to develop programs consisting of several distributed communicating components. Developing functionally correct message passing software is very challenging due to the concurrent nature of message exchanges. Nonetheless, many safety-critical applications rely on the message passing paradigm, including air traffic control systems and emergency services,...
متن کاملA Static Verification Framework for Message Passing in Go using Behavioural Types
The Go programming language has been heavily adopted in industry as a language that eiciently combines systems programming with concurrency. Go’s concurrency primitives, inspired by process calculi such as CCS and CSP, feature channel-based communication and lightweight threads, providing a distinct means of structuring concurrent software. Despite its popularity, the Go programming ecosystem o...
متن کاملStatic Provenance Verification for Message Passing Programs
Provenance information records the source and ownership history of an object. We study the problem of provenance tracking in concurrent programs, in which several principals execute concurrent processes and exchange messages over unbounded but unordered channels. The provenance of a message, roughly, is a function of the sequence of principals that have transmitted the message in the past. The ...
متن کاملModeling Mpi Programs for Verification
We investigate the application of formal verification techniques to parallel programs that employ the Message Passing Interface (MPI). We develop a formal model sufficient to represent programs that use a particular subset of MPI, and then prove a number of theorems about that model that ameliorate the state explosion problem or that show that certain properties of particular programs must nece...
متن کاملBlock-based Atomicity in Message-passing Distributed Programs
In this paper, we have studied the notion of atomicity in message-passing distributed programs. The difference between the notion of atomicity in shared memory programs and messagepassing programs has been discussed in detail. Due to the nature of communication in messagepassing programs, the atomicity requirement in shared memory programs (serializability) does not guarantee the same level of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016